home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3c / lfmt.z / lfmt
Encoding:
Text File  |  1998-10-20  |  22.8 KB  |  329 lines

  1.  
  2.  
  3.  
  4. llllffffmmmmtttt((((3333CCCC))))                                                              llllffffmmmmtttt((((3333CCCC))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _llll_ffff_mmmm_tttt, _vvvv_llll_ffff_mmmm_tttt -  display error message in standard format and pass to
  10.      logging and monitoring services
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_pppp_ffff_mmmm_tttt_...._hhhh_>>>>
  14.  
  15.      _iiii_nnnn_tttt _llll_ffff_mmmm_tttt_((((_FFFF_IIII_LLLL_EEEE _****_s_t_r_e_a_m_,,,, _llll_oooo_nnnn_gggg _f_l_a_g_s_,,,, _cccc_hhhh_aaaa_rrrr _****_f_o_r_m_a_t_,,,, _.... _.... _.... _////_**** _a_r_g_s _****_////_))))_;;;;
  16.  
  17.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_tttt_dddd_aaaa_rrrr_gggg_...._hhhh_>>>>
  18.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_pppp_ffff_mmmm_tttt_...._hhhh_>>>>
  19.  
  20.      _iiii_nnnn_tttt _vvvv_llll_ffff_mmmm_tttt_((((_FFFF_IIII_LLLL_EEEE _****_s_t_r_e_a_m_,,,, _llll_oooo_nnnn_gggg _f_l_a_g_s_,,,, _cccc_hhhh_aaaa_rrrr _****_f_o_r_m_a_t_,,,, _vvvv_aaaa______llll_iiii_ssss_tttt _a_p_))))_;;;;
  21.  
  22. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  23.      _llll_ffff_mmmm_tttt retrieves a format string from a locale-specific message database
  24.      (unless _MMMM_MMMM______NNNN_OOOO_GGGG_EEEE_TTTT is specified) and uses it for _pppp_rrrr_iiii_nnnn_tttt_ffff style formatting of
  25.      _a_r_g_s.  The output is displayed on _s_t_r_e_a_m.  If _s_t_r_e_a_m is _NNNN_UUUU_LLLL_LLLL, no output
  26.      is displayed.  _llll_ffff_mmmm_tttt encapsulates the output in the standard error message
  27.      format (unless _MMMM_MMMM______NNNN_OOOO_SSSS_TTTT_DDDD is specified, in which case the output is simply
  28.      _pppp_rrrr_iiii_nnnn_tttt_ffff-like).
  29.  
  30.      _llll_ffff_mmmm_tttt forwards its output to the logging and monitoring facility, even if
  31.      _s_t_r_e_a_m is null.  _llll_ffff_mmmm_tttt will also display the output on the console, with a
  32.      date and time stamp, when _MMMM_MMMM______CCCC_OOOO_NNNN_SSSS_OOOO_LLLL_EEEE is specified (see below).
  33.  
  34.      If the _pppp_rrrr_iiii_nnnn_tttt_ffff format string is to be retrieved from a message database,
  35.      the _f_o_r_m_a_t argument must have the following structure:
  36.  
  37.           _[[[[_c_a_t_a_l_o_g_::::_]]]]_m_s_g_n_u_m_::::_d_e_f_m_s_g.
  38.  
  39.      If _MMMM_MMMM______NNNN_OOOO_GGGG_EEEE_TTTT is specified, only the _d_e_f_m_s_g part must be specified.
  40.  
  41.      _c_a_t_a_l_o_g indicates the message database that contains the localized
  42.      version of the format string.  _c_a_t_a_l_o_g must be limited to 14 characters.
  43.      These characters must be selected from a set of all character values,
  44.      excluding _\\\\_0000 (null) and the ASCII codes for _//// (slash) and _:::: (colon).
  45.  
  46.      _m_s_g_n_u_m must be a positive number that indicates the index of the string
  47.      into the message database.
  48.  
  49.      If _c_a_t_a_l_o_g does not exist in the locale (specified by the last call to
  50.      _ssss_eeee_tttt_llll_oooo_cccc_aaaa_llll_eeee using the _LLLL_CCCC______AAAA_LLLL_LLLL or _LLLL_CCCC______MMMM_EEEE_SSSS_SSSS_AAAA_GGGG_EEEE_SSSS categories), or if the message
  51.      number is out of bounds, _llll_ffff_mmmm_tttt attempts to retrieve the message from the _CCCC
  52.      locale.  If this second retrieval fails, _llll_ffff_mmmm_tttt uses the _d_e_f_m_s_g part of the
  53.      _f_o_r_m_a_t argument.
  54.  
  55.      If _c_a_t_a_l_o_g is omitted, _llll_ffff_mmmm_tttt attempts to retrieve the string from the
  56.      default catalog specified by the last call to _ssss_eeee_tttt_cccc_aaaa_tttt.  In this case, the
  57.      _f_o_r_m_a_t argument has the following structure:
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. llllffffmmmmtttt((((3333CCCC))))                                                              llllffffmmmmtttt((((3333CCCC))))
  71.  
  72.  
  73.  
  74.           _m_s_g_n_u_m_::::_d_e_f_m_s_g.
  75.  
  76.      _llll_ffff_mmmm_tttt outputs _MMMM_eeee_ssss_ssss_aaaa_gggg_eeee _nnnn_oooo_tttt _ffff_oooo_uuuu_nnnn_dddd_!!!!_!!!!\_n as the format string if:
  77.  
  78.           - _c_a_t_a_l_o_g is not a valid catalog name as defined above
  79.  
  80.           - no catalog is specified (either explicitly or via _ssss_eeee_tttt_cccc_aaaa_tttt)
  81.  
  82.           - _m_s_g_n_u_m is not a positive number
  83.  
  84.           - if no message could be retrieved from the message databases and
  85.             _d_e_f_m_s_g was omitted
  86.  
  87.      The _f_l_a_g_s determine the type of output (that is, whether the _f_o_r_m_a_t
  88.      should be interpreted as is or encapsulated in the standard message
  89.      format), and the access to message catalogs to retrieve a localized
  90.      version of _f_o_r_m_a_t.  The _f_l_a_g_s are composed of several groups, and can
  91.      take the following values (one from each group):
  92.  
  93.      _O_u_t_p_u_t _f_o_r_m_a_t _c_o_n_t_r_o_l
  94.  
  95.           _MMMM_MMMM______NNNN_OOOO_SSSS_TTTT_DDDD     do not use the standard message format, interpret
  96.                        _f_o_r_m_a_t as a _pppp_rrrr_iiii_nnnn_tttt_ffff _f_o_r_m_a_t.  Only _c_a_t_a_l_o_g _a_c_c_e_s_s _c_o_n_t_r_o_l
  97.                        _f_l_a_g_s, _c_o_n_s_o_l_e _d_i_s_p_l_a_y _c_o_n_t_r_o_l, and _l_o_g_g_i_n_g _i_n_f_o_r_m_a_t_i_o_n
  98.                        should be specified if _MMMM_MMMM______NNNN_OOOO_SSSS_TTTT_DDDD is used; all other
  99.                        flags will be ignored.
  100.  
  101.           _MMMM_MMMM______SSSS_TTTT_DDDD       output using the standard message format (default,
  102.                        value 0).
  103.  
  104.      _C_a_t_a_l_o_g _a_c_c_e_s_s _c_o_n_t_r_o_l
  105.  
  106.           _MMMM_MMMM______NNNN_OOOO_GGGG_EEEE_TTTT     do not retrieve a localized version of _f_o_r_m_a_t.  In this
  107.                        case, only the _d_e_f_m_s_g part of the _f_o_r_m_a_t is specified.
  108.  
  109.           _MMMM_MMMM______GGGG_EEEE_TTTT       retrieve a localized version of _f_o_r_m_a_t, from the
  110.                        _c_a_t_a_l_o_g, using _m_s_g_n_u_m as the index and _d_e_f_m_s_g as the
  111.                        default message (default, value 0).
  112.  
  113.      _S_e_v_e_r_i_t_y (_s_t_a_n_d_a_r_d _m_e_s_s_a_g_e _f_o_r_m_a_t _o_n_l_y)
  114.  
  115.           _MMMM_MMMM______HHHH_AAAA_LLLL_TTTT      generates a localized version of _HHHH_AAAA_LLLL_TTTT.
  116.  
  117.           _MMMM_MMMM______EEEE_RRRR_RRRR_OOOO_RRRR     generates a localized version of _EEEE_RRRR_RRRR_OOOO_RRRR (default, value
  118.                        0).
  119.  
  120.           _MMMM_MMMM______WWWW_AAAA_RRRR_NNNN_IIII_NNNN_GGGG   generates a localized version of _WWWW_AAAA_RRRR_NNNN_IIII_NNNN_GGGG.
  121.  
  122.           _MMMM_MMMM______IIII_NNNN_FFFF_OOOO      generates a localized version of _IIII_NNNN_FFFF_OOOO.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. llllffffmmmmtttt((((3333CCCC))))                                                              llllffffmmmmtttt((((3333CCCC))))
  137.  
  138.  
  139.  
  140.           Additional severities can be defined.  Add-on severities can be
  141.           defined with number-string pairs with numeric values from the range
  142.           [5-255], using _aaaa_dddd_dddd_ssss_eeee_vvvv(3C).  The numeric value ORed with other _f_l_a_g_s
  143.           will generate the specified severity.
  144.  
  145.           If the severity is not defined, _llll_ffff_mmmm_tttt uses the string _SSSS_EEEE_VVVV_====_N where _N
  146.           is replaced by the integer severity value passed in _f_l_a_g_s.
  147.  
  148.           Multiple severities passed in _f_l_a_g_s will not be detected as an
  149.           error.  Any combination of severities will be summed and the numeric
  150.           value will cause the display of either a severity string (if
  151.           defined) or the string _SSSS_EEEE_VVVV_====_N (if undefined).
  152.  
  153.      _A_c_t_i_o_n
  154.  
  155.           _MMMM_MMMM______AAAA_CCCC_TTTT_IIII_OOOO_NNNN    specifies an action message.  Any severity value is
  156.                        superseded and replaced by a localized version of _TTTT_OOOO
  157.                        _FFFF_IIII_XXXX.
  158.  
  159.      _C_o_n_s_o_l_e _d_i_s_p_l_a_y _c_o_n_t_r_o_l
  160.  
  161.           _MMMM_MMMM______CCCC_OOOO_NNNN_SSSS_OOOO_LLLL_EEEE      display the message to the console in addition to
  162.                           the specified _s_t_r_e_a_m.
  163.  
  164.           _MMMM_MMMM______NNNN_OOOO_CCCC_OOOO_NNNN_SSSS_OOOO_LLLL_EEEE    do not display the message to the console in
  165.                           addition to the specified _s_t_r_e_a_m (default, value 0).
  166.  
  167.      _L_o_g_g_i_n_g _i_n_f_o_r_m_a_t_i_o_n
  168.  
  169.         _M_a_j_o_r _c_l_a_s_s_i_f_i_c_a_t_i_o_n
  170.                   identifies the source of the condition.  Identifiers are:
  171.                   _MMMM_MMMM______HHHH_AAAA_RRRR_DDDD (hardware), _MMMM_MMMM______SSSS_OOOO_FFFF_TTTT (software), and _MMMM_MMMM______FFFF_IIII_RRRR_MMMM
  172.                   (firmware).
  173.  
  174.         _M_e_s_s_a_g_e _s_o_u_r_c_e _s_u_b_c_l_a_s_s_i_f_i_c_a_t_i_o_n
  175.                   identifies the type of software in which the problem is
  176.                   spotted.  Identifiers are:  _MMMM_MMMM______AAAA_PPPP_PPPP_LLLL (application), _MMMM_MMMM______UUUU_TTTT_IIII_LLLL
  177.                   (utility), and _MMMM_MMMM______OOOO_PPPP_SSSS_YYYY_SSSS (operating system).
  178.  
  179.    SSSSttttaaaannnnddddaaaarrrrdddd EEEErrrrrrrroooorrrr MMMMeeeessssssssaaaaggggeeee FFFFoooorrrrmmmmaaaatttt
  180.      _llll_ffff_mmmm_tttt displays error messages in the following format:
  181.  
  182.           _l_a_b_e_l_:::: _s_e_v_e_r_i_t_y_:::: _t_e_x_t
  183.  
  184.      If no _l_a_b_e_l was defined by a call to _ssss_eeee_tttt_llll_aaaa_bbbb_eeee_llll, the message is displayed
  185.      in the format:
  186.  
  187.           _s_e_v_e_r_i_t_y_:::: _t_e_x_t
  188.  
  189.      If _llll_ffff_mmmm_tttt is called twice to display an error message and a helpful _a_c_t_i_o_n
  190.      or recovery message, the output can look like:
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. llllffffmmmmtttt((((3333CCCC))))                                                              llllffffmmmmtttt((((3333CCCC))))
  203.  
  204.  
  205.  
  206.           _l_a_b_e_l_:::: _s_e_v_e_r_i_t_y_:::: _t_e_x_t
  207.           _l_a_b_e_l_:::: _TTTT_OOOO _FFFF_IIII_XXXX_:::: _t_e_x_t
  208.  
  209.    vvvvllllffffmmmmtttt
  210.      _vvvv_llll_ffff_mmmm_tttt is the same as _llll_ffff_mmmm_tttt except that instead of being called with a
  211.      variable number of arguments, it is called with an argument list as
  212.      defined by the _ssss_tttt_dddd_aaaa_rrrr_gggg_...._hhhh header file.
  213.  
  214.      The _ssss_tttt_dddd_aaaa_rrrr_gggg_...._hhhh header file defines the type _vvvv_aaaa______llll_iiii_ssss_tttt and a set of macros for
  215.      advancing through a list of arguments whose number and types may vary.
  216.      The argument _a_p to _vvvv_llll_ffff_mmmm_tttt is of type _vvvv_aaaa______llll_iiii_ssss_tttt.  This argument is used with
  217.      the _ssss_tttt_dddd_aaaa_rrrr_gggg_...._hhhh header file macros _vvvv_aaaa______ssss_tttt_aaaa_rrrr_tttt, _vvvv_aaaa______aaaa_rrrr_gggg and _vvvv_aaaa______eeee_nnnn_dddd [see
  218.      _vvvv_aaaa______ssss_tttt_aaaa_rrrr_tttt, _vvvv_aaaa______aaaa_rrrr_gggg, and _vvvv_aaaa______eeee_nnnn_dddd in _ssss_tttt_dddd_aaaa_rrrr_gggg(5)].  The EXAMPLE sections below
  219.      show their use.
  220.  
  221.      The macro _vvvv_aaaa______aaaa_llll_iiii_ssss_tttt is used as the parameter list in a function definition
  222.      as in the function called _eeee_rrrr_rrrr_oooo_rrrr in the example below.  The macro
  223.      _vvvv_aaaa______ssss_tttt_aaaa_rrrr_tttt_((((_a_p_,,,, _)))), where _a_p is of type _vvvv_aaaa______llll_iiii_ssss_tttt, must be called before any
  224.      attempt to traverse and access unnamed arguments.  Calls to _vvvv_aaaa______aaaa_rrrr_gggg_((((_a_p_,,,,
  225.      _a_t_y_p_e_)))) traverse the argument list.  Each execution of _vvvv_aaaa______aaaa_rrrr_gggg expands to
  226.      an expression with the value and type of the next argument in the list
  227.      _a_p, which is the same object initialized by _vvvv_aaaa______ssss_tttt_aaaa_rrrr_tttt.  The argument _a_t_y_p_e
  228.      is the type that the returned argument is expected to be.  The _vvvv_aaaa______eeee_nnnn_dddd_((((_a_p_))))
  229.      macro must be invoked when all desired arguments have been accessed.
  230.      [The argument list in _a_p can be traversed again if _vvvv_aaaa______ssss_tttt_aaaa_rrrr_tttt is called
  231.      again after _vvvv_aaaa______eeee_nnnn_dddd.]  In the example below, _vvvv_aaaa______aaaa_rrrr_gggg is executed first to
  232.      retrieve the format string passed to _eeee_rrrr_rrrr_oooo_rrrr.  The remaining _eeee_rrrr_rrrr_oooo_rrrr
  233.      arguments, _a_r_g_1, _a_r_g_2, . . ., are given to _vvvv_llll_ffff_mmmm_tttt in the argument _a_p.
  234.  
  235. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  236.    llllffffmmmmtttt eeeexxxxaaaammmmpppplllleeee 1111
  237.      _ssss_eeee_tttt_llll_aaaa_bbbb_eeee_llll_((((_""""_UUUU_XXXX_::::_tttt_eeee_ssss_tttt_""""_))))_;;;;
  238.      _llll_ffff_mmmm_tttt_((((_ssss_tttt_dddd_eeee_rrrr_rrrr_,,,, _MMMM_MMMM______EEEE_RRRR_RRRR_OOOO_RRRR_||||_MMMM_MMMM______CCCC_OOOO_NNNN_SSSS_OOOO_LLLL_EEEE_||||_MMMM_MMMM______SSSS_OOOO_FFFF_TTTT_||||_MMMM_MMMM______UUUU_TTTT_IIII_LLLL_,,,,
  239.                 _""""_tttt_eeee_ssss_tttt_::::_2222_::::_CCCC_aaaa_nnnn_nnnn_oooo_tttt _oooo_pppp_eeee_nnnn _ffff_iiii_llll_eeee_:::: _%%%%_ssss_\\\\_nnnn_""""_,,,, _ssss_tttt_rrrr_eeee_rrrr_rrrr_oooo_rrrr_((((_eeee_rrrr_rrrr_nnnn_oooo_))))_))))_;;;;
  240.  
  241.      displays the message to _s_t_d_e_r_r and to the console and makes it available
  242.      for logging:
  243.  
  244.           _UUUU_XXXX_::::_tttt_eeee_ssss_tttt_:::: _EEEE_RRRR_RRRR_OOOO_RRRR_:::: _CCCC_aaaa_nnnn_nnnn_oooo_tttt _oooo_pppp_eeee_nnnn _ffff_iiii_llll_eeee_:::: _NNNN_oooo _ssss_uuuu_cccc_hhhh _ffff_iiii_llll_eeee _oooo_rrrr _dddd_iiii_rrrr_eeee_cccc_tttt_oooo_rrrr_yyyy
  245.  
  246.    llllffffmmmmtttt eeeexxxxaaaammmmpppplllleeee 2222
  247.      _ssss_eeee_tttt_llll_aaaa_bbbb_eeee_llll_((((_""""_UUUU_XXXX_::::_tttt_eeee_ssss_tttt_""""_))))_;;;;
  248.      _llll_ffff_mmmm_tttt_((((_ssss_tttt_dddd_eeee_rrrr_rrrr_,,,, _MMMM_MMMM______IIII_NNNN_FFFF_OOOO_||||_MMMM_MMMM______SSSS_OOOO_FFFF_TTTT_||||_MMMM_MMMM______UUUU_TTTT_IIII_LLLL_,,,,
  249.             _""""_tttt_eeee_ssss_tttt_::::_2222_3333_::::_tttt_eeee_ssss_tttt _ffff_aaaa_cccc_iiii_llll_iiii_tttt_yyyy _iiii_ssss _eeee_nnnn_aaaa_bbbb_llll_eeee_dddd_\\\\_nnnn_""""_))))_;;;;
  250.  
  251.      displays the message to _s_t_d_e_r_r and makes it available for logging:
  252.  
  253.           _UUUU_XXXX_::::_tttt_eeee_ssss_tttt_:::: _IIII_NNNN_FFFF_OOOO_:::: _tttt_eeee_ssss_tttt _ffff_aaaa_cccc_iiii_llll_iiii_tttt_yyyy _eeee_nnnn_aaaa_bbbb_llll_eeee_dddd
  254.  
  255.    vvvvllllffffmmmmtttt eeeexxxxaaaammmmpppplllleeee
  256.      The following demonstrates how _vvvv_llll_ffff_mmmm_tttt could be used to write an _eeee_rrrr_rrrr_llll_oooo_gggg
  257.      routine:
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. llllffffmmmmtttt((((3333CCCC))))                                                              llllffffmmmmtttt((((3333CCCC))))
  269.  
  270.  
  271.  
  272.           _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_pppp_ffff_mmmm_tttt_...._hhhh_>>>>
  273.           _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_tttt_dddd_aaaa_rrrr_gggg_...._hhhh_>>>>
  274.           _.... _.... _....
  275.           _////_****
  276.            _****   _eeee_rrrr_rrrr_llll_oooo_gggg _ssss_hhhh_oooo_uuuu_llll_dddd _bbbb_eeee _cccc_aaaa_llll_llll_eeee_dddd _llll_iiii_kkkk_eeee
  277.            _****         _eeee_rrrr_rrrr_llll_oooo_gggg_((((_llll_oooo_gggg______iiii_nnnn_ffff_oooo_,,,, _ffff_oooo_rrrr_mmmm_aaaa_tttt_,,,, _aaaa_rrrr_gggg_1111_,,,, _...._...._...._))))_;;;;
  278.            _****_////
  279.           _vvvv_oooo_iiii_dddd _eeee_rrrr_rrrr_llll_oooo_gggg_((((_llll_oooo_nnnn_gggg _llll_oooo_gggg______iiii_nnnn_ffff_oooo_,,,, _cccc_oooo_nnnn_ssss_tttt _cccc_hhhh_aaaa_rrrr _****_ffff_oooo_rrrr_mmmm_aaaa_tttt_,,,, _...._...._...._))))
  280.           _{{{{
  281.               _vvvv_aaaa______llll_iiii_ssss_tttt _aaaa_pppp_;;;;
  282.               _vvvv_aaaa______ssss_tttt_aaaa_rrrr_tttt_((((_aaaa_pppp_,,,, _ffff_oooo_rrrr_mmmm_aaaa_tttt_))))_;;;;
  283.               _((((_vvvv_oooo_iiii_dddd_)))) _vvvv_llll_ffff_mmmm_tttt_((((_ssss_tttt_dddd_eeee_rrrr_rrrr_,,,, _llll_oooo_gggg______iiii_nnnn_ffff_oooo_||||_MMMM_MMMM______EEEE_RRRR_RRRR_OOOO_RRRR_,,,, _ffff_oooo_rrrr_mmmm_aaaa_tttt_,,,, _aaaa_pppp_))))_;;;;
  284.               _vvvv_aaaa______eeee_nnnn_dddd_((((_aaaa_pppp_))))_;;;;
  285.               _((((_vvvv_oooo_iiii_dddd_)))) _aaaa_bbbb_oooo_rrrr_tttt_((((_))))_;;;;
  286.           _}}}}
  287.  
  288. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  289.      _llll_ffff_mmmm_tttt(1), _pppp_ffff_mmmm_tttt(1), _aaaa_dddd_dddd_ssss_eeee_vvvv(3C), _gggg_eeee_tttt_tttt_xxxx_tttt(3C), _ssss_eeee_tttt_cccc_aaaa_tttt(3C), _ssss_eeee_tttt_llll_aaaa_bbbb_eeee_llll(3C),
  290.      _ssss_eeee_tttt_llll_oooo_cccc_aaaa_llll_eeee(3C), _pppp_rrrr_iiii_nnnn_tttt_ffff(3S), _eeee_nnnn_vvvv_iiii_rrrr_oooo_nnnn(5), _ssss_tttt_dddd_aaaa_rrrr_gggg(5)
  291.  
  292. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  293.      On success, _llll_ffff_mmmm_tttt and _vvvv_llll_ffff_mmmm_tttt return the number of bytes transmitted.  On
  294.      failure, they return a negative value:
  295.      -1   write error to _s_t_r_e_a_m
  296.      -2   cannot log and/or display at console.
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.                                                                         PPPPaaaaggggeeee 5555
  326.  
  327.  
  328.  
  329.